package com.ktgj.pay.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ktgj.common.core.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

public class InvoiceInvoiceOrderDTO implements Serializable {
    /** 发票ID */
    private String invoiceid;

    /** 会员ID */
    @Excel(name = "会员ID")
    private String jsjid;

    /** 会员名称 */
    @Excel(name = "会员名称")
    private String jsjidName;

    /** 订单 */
    @Excel(name = "订单")
    private String ordernum;

    /** 发票开具类型，1纸质发票，2电子发票 */
    @Excel(name = "发票开具类型，1纸质发票，2电子发票")
    private Long type;

    /** 含税金额 */
    @Excel(name = "含税金额")
    private BigDecimal taxamount;

    /** 开票状态 (1 未开票 2 已预约  4 已开票 5 待支付 6 取消)，11冲红，12作废  15存储错误订单 */
    @Excel(name = "开票状态 (1 未开票 2 已预约  4 已开票 5 待支付 6 取消)，11冲红，12作废  15存储错误订单")
    private Long state;

    /** email发送状态(1未发送 2发送中 3已发送) */
    @Excel(name = "email发送状态(1未发送 2发送中 3已发送)")
    private Long emailstate;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    /** 开票人 */
    @Excel(name = "开票人")
    private String drawer;

    /** 实际开票时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "实际开票时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date actualtime;

    /** 审核状态(1未审核，2审核通过, 3审核失败) */
    @Excel(name = "审核状态(1未审核，2审核通过, 3审核失败)")
    private Long checkstate;

    /** 审核人ID */
    @Excel(name = "审核人ID")
    private String operator;

    /** 审核人 */
    @Excel(name = "审核人")
    private String operatorName;

    /** 业务线(1国内机票 2国际机票 3酒店) */
    @Excel(name = "业务线(1国内机票 2国际机票 3酒店)")
    private Long sourceway;

    /** 购方电话 */
    @Excel(name = "购方电话")
    private String phone;

    /** 发票种类： 1：专用发票，2：普通发票，3定额发票 */
    @Excel(name = "发票种类： 1：专用发票，2：普通发票，3定额发票")
    private Long sort;

    public String getInvoiceid() {
        return invoiceid;
    }

    public void setInvoiceid(String invoiceid) {
        this.invoiceid = invoiceid;
    }

    public String getJsjid() {
        return jsjid;
    }

    public void setJsjid(String jsjid) {
        this.jsjid = jsjid;
    }

    public String getOrdernum() {
        return ordernum;
    }

    public void setOrdernum(String ordernum) {
        this.ordernum = ordernum;
    }

    public Long getType() {
        return type;
    }

    public void setType(Long type) {
        this.type = type;
    }

    public BigDecimal getTaxamount() {
        return taxamount;
    }

    public void setTaxamount(BigDecimal taxamount) {
        this.taxamount = taxamount;
    }

    public Long getState() {
        return state;
    }

    public void setState(Long state) {
        this.state = state;
    }

    public Long getEmailstate() {
        return emailstate;
    }

    public void setEmailstate(Long emailstate) {
        this.emailstate = emailstate;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public String getDrawer() {
        return drawer;
    }

    public void setDrawer(String drawer) {
        this.drawer = drawer;
    }

    public Date getActualtime() {
        return actualtime;
    }

    public void setActualtime(Date actualtime) {
        this.actualtime = actualtime;
    }

    public Long getCheckstate() {
        return checkstate;
    }

    public void setCheckstate(Long checkstate) {
        this.checkstate = checkstate;
    }

    public String getOperator() {
        return operator;
    }

    public void setOperator(String operator) {
        this.operator = operator;
    }

    public Long getSourceway() {
        return sourceway;
    }

    public void setSourceway(Long sourceway) {
        this.sourceway = sourceway;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public Long getSort() {
        return sort;
    }

    public void setSort(Long sort) {
        this.sort = sort;
    }

    public String getJsjidName() {
        return jsjidName;
    }

    public void setJsjidName(String jsjidName) {
        this.jsjidName = jsjidName;
    }

    public String getOperatorName() {
        return operatorName;
    }

    public void setOperatorName(String operatorName) {
        this.operatorName = operatorName;
    }
}
